[JS/백준]{그리디}(11047) 동전 0

202210월 01

백준 문제 링크

문제 설명

그리디 문제는 계속 풀다보니까 어느정도 패턴이 보이는것 같다 (실버 문제라서 그런것일수도)

풀이법은 간단하다 큰 동전부터 비교하면서 총 동전 값에 더해도 k를 넘지않으면 동전수를 1 더해주고

총 동전의 값에는 현재 동전 값을 더해준다.


코드

const line = require("fs").readFileSync("./input.txt", "utf8");
let inputData = line.trim().split("\n");

const [n, k] = inputData[0].split(" ").map(Number);

let coinCnt = 0;
let curCoin = 0;

const coinList = [];
for (let i = 1; i < n + 1; i++) {
  coinList.push(+inputData[i]);
}

while (coinList.length) {
  const coinPrice = coinList.pop();

  while (curCoin + coinPrice <= k) {
    curCoin += coinPrice;
    coinCnt++;
  }
}
console.log(coinCnt);